#include <stdio.h>
float tukarBaris(float augmat[3][4], int a, int b){
	float temp;
	for(int i=0;i<4;i++){
		temp = augmat[a][i];
		augmat[a][i] = augmat[b][i];
		augmat[b][i] = temp;
	}
	return augmat[3][4];
}
void showMatriks(float augmat[3][4]){
	for(int i=0;i < 3; i++){
		for(int j=0;j < 4; j++){
			printf("%f ", augmat[i][j]);
		}
		printf("\n");
	}
}
void main(){
	/* Deklarasi matriks */
	float augmat[3][4]={
		{1,1,1,6},
		{1,1,-1,2},
		{2,1,2,10}
	};
	showMatriks(augmat);
	printf("\n");

	/* 
	 * 1. cek apakah di baris diagonal ada yang bernilai nol atau tidak 
	 * 2. jika ada maka cek baris yang yang memiliki kolom n namun tidak bernilai nol
	 * 3. jika di proses 2 ditemukan, maka tukar baris, jika tidak maka end
	 */
	for(int i=0;i<3;i++){
		if(augmat[i][i]==0){
			for(int j=0;j<3;j++){
				if(j==i){continue;}
				if(augmat[j][j]!=0){
					continue;
				}else{
					augmat[3][4] = tukarBaris(augmat, 0, 1);
				}
			}
		}
	}
	showMatriks(augmat);
	printf("\n");
}